// samsting : this file is auto create.

#ifndef ALIYUN_Emr_ListExecutePlansResponse_H_
#define ALIYUN_Emr_ListExecutePlansResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Emr {

class ListExecutePlansResponse : public AcsResponse {
public:
  ListExecutePlansResponse();

  class ExecutePlanInfo {
    friend class ListExecutePlansResponse;
  public:
    int64 GetId(void) const;
    const string& GetName(void) const;
    const string& GetLastRunStatus(void) const;
    int64 GetRunTime(void) const;
    const string& GetClusterName(void) const;
    bool GetIsCreateCluster(void) const;
    int  GetStragety(void) const;
    const string& GetStatus(void) const;
    int  GetTimeInterval(void) const;
    const string& GetStartTime(void) const;
    const string& GetTimeUnit(void) const;
  private:
    int64  Id_;
    string Name_;
    string LastRunStatus_;
    int64  RunTime_;
    string ClusterName_;
    bool   IsCreateCluster_;
    int    Stragety_;
    string Status_;
    int    TimeInterval_;
    string StartTime_;
    string TimeUnit_;
  }; // ExecutePlanInfo 

  const std::vector<ExecutePlanInfo>& GetExecutePlans(void) const;
  int  GetTotalCount(void) const;
  int  GetPageNumber(void) const;
  int  GetPageSize(void) const;

private:
  std::vector<ExecutePlanInfo> ExecutePlans_;
  int    TotalCount_;
  int    PageNumber_;
  int    PageSize_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Emr {

#endif // #ifndef ALIYUN_Emr_ListExecutePlansResponse_H_

// end of file 
